package org.duiduo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("t_order")
public class Order {
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 名称
     */
    private String name;

    /**
     * 总价
     */
    private BigDecimal totalPrice;

    /**
     * 实付款
     */
    private BigDecimal payPrice;

    /**
     * 优惠金额
     */
    private BigDecimal discount;

    /**
     * 购买数量
     */
    private Integer count;

    /**
     * 运费
     */
    private BigDecimal transportPrice;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 所购书籍id
     */
    private Integer bookId;

    /**
     * 用户账户
     */
    private String username;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;

    /**
     * 状态，0：待支付，1：已支付
     *
     * @link {OrderStateEnum}
     */
    private Integer state;

    /**
     * 书籍信息 一对一
     */
    @TableField(exist = false)
    private Book book;
}
